package model

import (
	"gorm.io/gorm"
)

type Tag struct {
	gorm.Model
	Code string `json:"code" gorm:"type:varchar(32);comment:编码"`
	Name string `json:"name" gorm:"type:varchar(50);comment:名称"`
}

func (s *Tag) TableName() string {
	return "tag"
}

func (r *Tag) FirstById(id int64) (*Tag, error) {
	var tag Tag
	err := GetDB().Where("id = ?", id).First(&tag).Error
	return &tag, err
}

func (r *Tag) Create(tag *Tag) error {
	return GetDB().Create(tag).Error
}

func (r *Tag) Update(tag *Tag) error {
	return GetDB().Save(tag).Error
}
func (r *Tag) GetByCode(code string) (*Tag, error) {
	var tag Tag
	err := GetDB().Where("code = ?", code).First(&tag).Error
	return &tag, err
}
